package cn.tedu.weibo.pojo.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Pattern;

/**
 * 注册功能的DTO类
 */
@Data
public class UserRegDTO {
    //用户名、密码、昵称
    /*
        ApiModelProperty注解：添加在POJO类属性上;
        1.value参数:指定API文档中的参数说明;
        2.required参数:指定API文档中的是否必须;
        3.example参数:指定API文档中示例值.
     */
    /*
        1.NotNull注解：不能为null
        2.NotEmpty注解：不能为空,不能为null
        3.NotBlank注解：不能为空白串,不能为空,不能为null
        4.Size注解：作用于字符串,限制字符串的长度,为闭区间[即:包含边界值]
              以后在测试时测试精简5点,即：2个上点,2个离点,1个内点.
        5.Pattern注解：通过regexp参数使用正则表达式进行参数校验.
     */
    //@NotNull(message = "用户名不能为null")
    //@NotEmpty(message = "用户名不能为空,同时不能为null")
    //@NotBlank(message = "用户名不能为空白,不能为空,不能为null")
    //@Size(min = 6, max = 11, message = "用户名必须在6-12位之间")
    @Pattern(regexp = "^(?:[\u4e00-\u9fa5]{0,7}|[a-zA-Z]{0,14})$", message = "用户名不能超过7个汉字或者14个字符")
    @ApiModelProperty(value = "用户名", required = true, example = "Tony")
    private String username;
    @ApiModelProperty(value = "密码", required = true, example = "123456")
    private String password;
    @ApiModelProperty(value = "昵称", required = true, example = "tony")
    private String nickname;
}








